Modern Graphical User Interfaces (GUIs) for computer systems present information to users inside content frames or "windows". This presentation mechanism is employed in programs operative under the Microsoft WINDOWS 95 operating system available from Microsoft Corporation, Redmond, Washington, as well as in content display mechanisms such as the Macintosh operating system available from Apple Computer, Inc., the X-Windows computing environment, etc.
In such GUIs, each window presents information of a particular type. For example, one window may display a letter in progress, while another shows the status of an electronic mailbox, while a third window lists the contents of a user's hard drive. Windows are often displayed on a user's computer display screen in an area metaphorically referred to as the "desktop". Just as pieces of paper on a real desk top can overlap one another, windows on a computer desktop are drawn in a "z-order" that specifies which windows are drawn on top of other windows. The window with the highest z-order is the topmost displayed window, and may obscure portions of underlying windows with lower z-order.
A particular problem encountered in conventional GUIs is the management of multiple windows so that the right content is available to the user when he or she wants to see it. For example, if a window containing a listing of files (e.g., the WINDOWS 95 Explorer) is overlapping the user's letter, the user will be unable to work on the letter without first adjusting the display or changing the z-order of the windows on the desktop so that the letter is no longer obscured by the file listing window. Similarly, if the user later decides to access electronic mail, he or she needs to first make sure that neither the letter nor the file listing window obscures the electronic mailbox.
The conventional solution to the problem of z-order display is to allow the user to change the z-order of windows on the desktop so that a desired and selected window overlaps all other windows. In most GUIs, clicking on any visible part of a window with a mouse pointer will bring it in front of all other windows on the desktop by assigning to it the highest z-order in the paint order of window display. Although this lets the user view the window he or she needs for a particular task, it generally obscures other information on the desktop. Furthermore, if no part of the desired window is visible because the desired window is completely covered by a larger window, then the user must resort to other commands, e.g., via clicking on the desired window in the WINDOWS 95 task bar, navigating to the desired window via the WINDOWS 95 Explorer, or by clicking on an icon which causes display of the available windows for selection by pointing with the mouse.
Furthermore, there are situations in modern computer systems where a user may wish to maintain the display of a selected window on top of all other windows at all times. Typically, these are displays associated with computer functions for which the user may wish quick access to provide a command or to observe the progress of a task in progress. Examples include the display of a help function, a file download status indicating window, a video window, an audio control panel window, or any other type of windows that the user wishes to maintain in a highly accessible state.
To help users arrange information on the desktop in a more stable and persistent fashion without necessarily hiding any valuable information, many modern computer systems provide a GUI wherein windows can be moved across the desktop, just like pieces of paper can be repositioned on a physical desktop. In addition, modern GUI windows typically carry several controls that allow the user to resize the display area of the window--if the window is too large to fit on the desktop "as is", the user can shrink it to fit the available space or to assume a more desirable size. By adjusting the sizes and positions of various windows, a user can often arrange his or her desktop to show several different types of contents at the same time.
Even though this approach to resizing and repositioning windows allows some degree of control over ready access to desired windows, users in modern computer systems are finding that they have more information to work with than they are able to fit on a desktop at one time. Modern integrated application suites such as OFFICE 97--which provides a word processing, spreadsheet, electronic mail, Internet browsing, database, and other types of application programs--provide myriad possibilities for information display; users are beginning to create content in one application program that is linked or embedded into another application program, thereby necessitating management of multiple windows. Present day display technology does not provide enough display screen "real estate" to display all that can be displayed.
The WINDOWS 95 task bar is an example of a known solution to this problem. The WINDOWS 95 task bar is a small strip-like window that is displayed at the bottom most position on the desktop and used to control the visibility of other windows on the screen. The task bar provides miniature representations of the active windows, which themselves may be completely "buried" by other information or windows on the desktop. In order to avoid covering up the windows itself, the task bar can be set to appear only when the user's cursor hovers near the lower edge of the screen. When the user moves the pointer away from the task bar, it disappears again to display more of the desktop.
All of these known methods of managing window positions, sizes, and displays, require the user to explicitly decide where on the desktop a window should appear, however. Whenever a user encounters a situation in which one window obscures another, he or she must rectify the problem by moving a window or changing one of the two windows.
Accordingly, there is a need for an improved method and system for managing the simultaneous display of multiple windows in a graphical user interface. An acceptable solution would preferably address the shortcomings in prior art systems wherein a user must employ multiple step operations such as manually locate a selected window for display, navigate through a list of active windows, resizing and reposition windows so as to reveal a desired window, access a desired window through a task bar, etc. Preferably, the solution would allow the user to select a particular window to be maintained in the highest display position (highest z-order) so as to be consistently available, yet behave in such a fashion that the display of the topmost window does not interfere with the user's interactions with a selected underlying window.